package cn.wolfocde.wolf2w.util;

import cn.wolfocde.wolf2w.exception.LogicException;
import org.springframework.util.StringUtils;

/**
 * 自定义断言类
 * 判断参数是不是空和空字符串,
 * 空就抛异常提示用户
 */
public class AssertUtil {
    //私有构造器
    private AssertUtil() {
    }

    /**
     *  判断参数是不是空和空字符串,
     * 是空和空字符串,就抛异常提示用户,不执行业务流程
     * @param str
     * @param msg
     */
    public static void hasLength(String str, String msg) {
        if (!StringUtils.hasLength(str)) {
            throw new LogicException(msg);

        }
    }

    /**
     * 判断2个参数是不是相同,就抛异常提示用户错误
     * @param str1 参数1
     * @param str2 参数2
     * @param msg  具体异常信息
     */
    public static void isEquals(String str1, String str2,String msg) {
        //如果2个参数有一个是空值和"", 就抛异常提示用户参数错误了
        if (!StringUtils.hasLength(str1)||!StringUtils.hasLength(str2)) {
            throw new LogicException(msg);

        }
        //如果2个参数忽略大小写后判断是不同的,就抛异常提示用户错误
        //不执行原来的逻辑(比如:注册逻辑)
        if (!str1.equalsIgnoreCase(str2)) {
            throw new LogicException(msg);

        }
    }


}